package co.edu.usbcali.banco.modelo.dto;

import co.edu.usbcali.banco.modelo.Cliente;
import co.edu.usbcali.banco.presentation.backEndBeans.ClienteView;

import java.io.Serializable;

import java.util.Date;

import javax.faces.event.ActionEvent;


/**
*
*
* @author Zathura Code Generator http://code.google.com/p/zathura
*
*/
public class ClienteDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    private String apellidocliente;
    private String correo;
    private String direccion;
    private String nombrecliente;
    private String telefono;
    private String codigoestado_Estado;
    private String codigosucursal_Sucursal;
    private String codigotipodocumento_TipoDocumento;
    private String cedulacliente;
    private boolean rowSelected = false;
    private ClienteView clienteView;
    private Cliente cliente;

    public Cliente getCliente() {
        return cliente;
    }

    public String listener_update(ActionEvent e) {
        try {
            clienteView.action_modifyWitDTO(((apellidocliente == null) ||
                apellidocliente.equals("")) ? null : new String(apellidocliente),
                ((cedulacliente == null) || cedulacliente.equals("")) ? null
                                                                      : new Long(
                    cedulacliente),
                ((correo == null) || correo.equals("")) ? null
                                                        : new String(correo),
                ((direccion == null) || direccion.equals("")) ? null
                                                              : new String(
                    direccion),
                ((nombrecliente == null) || nombrecliente.equals("")) ? null
                                                                      : new String(
                    nombrecliente),
                ((telefono == null) || telefono.equals("")) ? null
                                                            : new Long(telefono),
                ((codigoestado_Estado == null) ||
                codigoestado_Estado.equals("")) ? null
                                                : new String(
                    codigoestado_Estado),
                ((codigosucursal_Sucursal == null) ||
                codigosucursal_Sucursal.equals("")) ? null
                                                    : new String(
                    codigosucursal_Sucursal),
                ((codigotipodocumento_TipoDocumento == null) ||
                codigotipodocumento_TipoDocumento.equals("")) ? null
                                                              : new String(
                    codigotipodocumento_TipoDocumento));
            rowSelected = !rowSelected;
        } catch (Exception ex) {
            return "";
        }

        return "";
    }

    public void listener_cancel(ActionEvent e) {
        cedulacliente = cliente.getCedulacliente().toString();
        apellidocliente = (cliente.getApellidocliente() != null)
            ? cliente.getApellidocliente().toString() : null;
        correo = (cliente.getCorreo() != null) ? cliente.getCorreo().toString()
                                               : null;
        direccion = (cliente.getDireccion() != null)
            ? cliente.getDireccion().toString() : null;
        nombrecliente = (cliente.getNombrecliente() != null)
            ? cliente.getNombrecliente().toString() : null;
        telefono = (cliente.getTelefono() != null)
            ? cliente.getTelefono().toString() : null;
        codigoestado_Estado = (cliente.getEstado().getCodigoestado() != null)
            ? cliente.getEstado().getCodigoestado().toString() : null;
        codigosucursal_Sucursal = (cliente.getSucursal().getCodigosucursal() != null)
            ? cliente.getSucursal().getCodigosucursal().toString() : null;
        codigotipodocumento_TipoDocumento = (cliente.getTipoDocumento()
                                                    .getCodigotipodocumento() != null)
            ? cliente.getTipoDocumento().getCodigotipodocumento().toString()
            : null;
        rowSelected = !rowSelected;
    }

    /**
    * <p>Bound to commandLink actionListener in the ui that renders/unrenders
        * the Customer details for editing.</p>
        */
    public void toggleSelected(ActionEvent e) {
        cedulacliente = cliente.getCedulacliente().toString();
        apellidocliente = (cliente.getApellidocliente() != null)
            ? cliente.getApellidocliente().toString() : null;
        correo = (cliente.getCorreo() != null) ? cliente.getCorreo().toString()
                                               : null;
        direccion = (cliente.getDireccion() != null)
            ? cliente.getDireccion().toString() : null;
        nombrecliente = (cliente.getNombrecliente() != null)
            ? cliente.getNombrecliente().toString() : null;
        telefono = (cliente.getTelefono() != null)
            ? cliente.getTelefono().toString() : null;
        codigoestado_Estado = (cliente.getEstado().getCodigoestado() != null)
            ? cliente.getEstado().getCodigoestado().toString() : null;
        codigosucursal_Sucursal = (cliente.getSucursal().getCodigosucursal() != null)
            ? cliente.getSucursal().getCodigosucursal().toString() : null;
        codigotipodocumento_TipoDocumento = (cliente.getTipoDocumento()
                                                    .getCodigotipodocumento() != null)
            ? cliente.getTipoDocumento().getCodigotipodocumento().toString()
            : null;
        rowSelected = !rowSelected;
    }

    public void setCliente(Cliente cliente) {
        this.cliente = cliente;
    }

    public ClienteView getClienteView() {
        return clienteView;
    }

    public void setClienteView(ClienteView clienteView) {
        this.clienteView = clienteView;
    }

    public String getApellidocliente() {
        return apellidocliente;
    }

    public void setApellidocliente(String apellidocliente) {
        this.apellidocliente = apellidocliente;
    }

    public String getCorreo() {
        return correo;
    }

    public void setCorreo(String correo) {
        this.correo = correo;
    }

    public String getDireccion() {
        return direccion;
    }

    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }

    public String getNombrecliente() {
        return nombrecliente;
    }

    public void setNombrecliente(String nombrecliente) {
        this.nombrecliente = nombrecliente;
    }

    public String getTelefono() {
        return telefono;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    public String getCodigoestado_Estado() {
        return codigoestado_Estado;
    }

    public void setCodigoestado_Estado(String codigoestado_Estado) {
        this.codigoestado_Estado = codigoestado_Estado;
    }

    public String getCodigosucursal_Sucursal() {
        return codigosucursal_Sucursal;
    }

    public void setCodigosucursal_Sucursal(String codigosucursal_Sucursal) {
        this.codigosucursal_Sucursal = codigosucursal_Sucursal;
    }

    public String getCodigotipodocumento_TipoDocumento() {
        return codigotipodocumento_TipoDocumento;
    }

    public void setCodigotipodocumento_TipoDocumento(
        String codigotipodocumento_TipoDocumento) {
        this.codigotipodocumento_TipoDocumento = codigotipodocumento_TipoDocumento;
    }

    public String getCedulacliente() {
        return cedulacliente;
    }

    public void setCedulacliente(String cedulacliente) {
        this.cedulacliente = cedulacliente;
    }

    public boolean isRowSelected() {
        return rowSelected;
    }

    public void setRowSelected(boolean rowSelected) {
        this.rowSelected = rowSelected;
    }
}
